package com.youxin.cpcenter.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import com.youxin.busfoundation.bean.ent.ReponseAdminStausBean;
import com.youxin.busfoundation.bean.ent.QueryEntAdminStatusBean;
import com.youxin.busfoundation.bean.ent.QueryEntMemberBean;
import com.youxin.busfoundation.bean.ent.ResponseAccountBean;
import com.youxin.busfoundation.bean.leads.LeadsStatTotalBean;
import com.youxin.busfoundation.bean.leads.QueryStatBean;
import com.youxin.cpcenter.bean.EntMemberBean;
import com.youxin.cpcenter.bean.member.MemberInfo;
import com.youxin.cpcenter.bean.member.QueryMemberInfo;
import com.youxin.cpcenter.model.TbEntMemberInfo;

@Mapper
public interface TbEntMemberInfoMapper {
    int deleteByPrimaryKey(Long id);

    int insert(TbEntMemberInfo record);

    int insertSelective(TbEntMemberInfo record);    
    
    int replaceSelective(TbEntMemberInfo record);
    

    TbEntMemberInfo selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(TbEntMemberInfo record);

    int updateByPrimaryKey(TbEntMemberInfo record);
    
    List<ResponseAccountBean> selectByMemberId(long memberId);
    List<TbEntMemberInfo> selectAllByMemberId(long memberId);
    
    TbEntMemberInfo selectByCompanyUid(String companyUid);
    
    TbEntMemberInfo selectByMemberIdAndExclude(QueryMemberInfo bean);    
    
    TbEntMemberInfo selectByIdentifyAndMemberId(QueryMemberInfo bean);
    
    List<TbEntMemberInfo> selectByMemberIdAndExcludeList(QueryMemberInfo bean);
    
    TbEntMemberInfo selectByMemberIdAndCompanyUid(QueryMemberInfo bean);
    
    int deleteByQueryInfo(QueryMemberInfo bean);    
    
    int openEntEdition(TbEntMemberInfo record);
    int closeEntEdition(TbEntMemberInfo record);
    int unAuth(TbEntMemberInfo record);
    int auth(TbEntMemberInfo record);
    
    List<EntMemberBean> selectMembersByCompanyUid(String companyUid);
    List<String> selectByCompanyUidAndMobiles(QueryEntMemberBean bean);
    
    List<ReponseAdminStausBean> selectAdminStausByIds(QueryEntAdminStatusBean bean);
    
    List<MemberInfo> selectByEntIdentifyIdAndMemberid(QueryEntAdminStatusBean bean);

    
    List<MemberInfo> selectFollowList(long entIdentifyId);
    
    LeadsStatTotalBean queryStatMemberNumber(long entIdentifyId);


}